<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>JSON对象和字符串之间的相互转换</title>
<link rel="stylesheet" href="styles.css" type="text/css"/>
<style type="text/css">
.part01{
	color: #6600FF;
}
</style>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="titlepage">
  <center>
    <h2 class="title">JSON对象和字符串之间的相互转换</h2>
  </center>
  参考网址：<br />
  http://www.css88.com/archives/3919</div>
<div id="part01" class="sect1">
  <p>比如我有两个变量，我要将a转换成字符串，将b转换成JSON对象：
  <p class="part01">var a={&quot;name&quot;:&quot;tom&quot;,&quot;sex&quot;:&quot;男&quot;,&quot;age&quot;:&quot;24&quot;};<br />
    var b='{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}';
  <p>在Firefox，chrome，opera，safari，ie9，ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。</p>
  <p>JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式；</p>
  <p>上面的转换可以这么写：<br />
  </p>
  <p class="part01">var a={&quot;name&quot;:&quot;tom&quot;,&quot;sex&quot;:&quot;男&quot;,&quot;age&quot;:&quot;24&quot;};<br />
      var b='{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}';<br />
      var aToStr=JSON.stringify(a);<br />
      var bToObj=JSON.parse(b);<br />
      alert(typeof(aToStr));//string<br />
      alert(typeof(bToObj));//object</p>
    </p>
    </p>
    JSON.stringify()</p>
  <p>IE8(兼容模式)，IE7和IE6没有JSON对象，不过<a href="http://www.json.org/js.html" target="_blank">http://www.json.org/</a>提供了一个json.js,这样IE8(兼容模式)，IE7和IE6就可以支持JSON对象以及其stringify()和parse()方法；</p>
  <p>你可以在<a href="https://github.com/douglascrockford/JSON-js" target="_blank">https://github.com/douglascrockford/JSON-js</a>上获取到这个js，一般现在用json2.js。</p>
  <p>IE8(兼容模式)，IE7和IE6可以使用eval()将字符串转为JSON对象  </p>
  <p class="part01">var c='{&quot;name&quot;:&quot;Mike&quot;,&quot;sex&quot;:&quot;女&quot;,&quot;age&quot;:&quot;29&quot;}';<br />
      var cToObj=eval(&quot;(&quot;+c+&quot;)&quot;);<br />
      alert(typeof(cToObj));  </p>
  <p>jQuery中也有将字符串转为JSON格式的方法<a href="http://www.css88.com/jqapi-1.6/#p=jQuery.parseJSON" target="_blank">jQuery.parseJSON( json )</a>，接受一个标准格式的 JSON 字符串，并返回解析后的JavaScript（JSON）对象。当然如果有兴趣可以自己封装一个jQuery扩展，jQuery.stringifyJSON(obj)将JSON转为字符串。<br />
</p>
</div>
</body>
</html>
